package cn.bonoon.kernel.web.annotations.components;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
 * <pre>
 * 如果显示下载和删除的操作,大概的宽度为300px左右.
 * 
 * 如果是通过框架的自动转值处理的，可以使用{@link cn.bonoon.kernel.annotations.TransformFile TransformFile}进行指定如果读取文件并保存到数据库的实体的
 * </pre>
 * 
 * @author jackson
 * 
 */
@Target(FIELD)
@Retention(RUNTIME)
public @interface AsFile {
//	/**
//	 * 定义上传的文件的控件名,可以直接在编辑对象里存放该名称的类,也可以从request对象里读取文件
//	 * 
//	 * @return
//	 */
//	String value() default "";

//	String showName() default "下载";

	/**
	 * <pre>
	 * 如果文件存在,是否允许删除.
	 * 在编辑的情况下,原先已经上传了附件,在编辑的时候,如果不需要使用附件,则可以通过该字段把原来的附件删除.
	 * 如果已经选择了新的附件,再选择删除,则还是用新的附件来替换旧的附件,即跟没有使用该字段的效果一样.
	 * 
	 * <font color='red'>
	 * 注意:该名称需要在编辑对象里有字段与之相对应,不然无法把值传回后台处理.
	 * 并且该传的类型为boolean类型.
	 * </font>
	 * </pre>
	 * 
	 * @return
	 */
//	String delete() default "";
	
	/**
	 * 在有附件的时候是否允许下载
	 * @return
	 */
	boolean download() default true;
}
